Computer users often carry portable computing devices with them such as notebook computers, personal digital assistants (PDAs), and mobile telephones that include computing capabilities. Such users may at some point wish to print data from the portable computing device while remote from the user's work or home network. For instance, a mobile user may wish to print when at a coffee shop that provides network (e.g., Internet) access and printing services, or when staying at a hotel that comprises a hotel network that includes a public printing device.
In such scenarios, it is likely that the user has little or no knowledge of the printing services that are available for use. Furthermore, it is likely that the user lacks the software (or firmware) that is required to communicate with the public printing devices and to send print jobs to them. Although the user can be provided with information as to the availability of printing services as well as any software or firmware (e.g., drivers) that is necessary to print, a more automated public printing system would be preferable, particularly for less computer-savvy users. Moreover, desirable would be a public printing system that is substantially universal and therefore may be used within any network that is configured to support such public printing.
Several obstacles exist to the creation and implementation of such a public printing system. For instance, if the mobile user establishes a virtual private network (VPN) connection, that user may not be able to print to the public printing device. Therefore, if the user wishes to print out a copy of a document stored on his work network that he forgot to take along on a business trip, the user may not be able to print out that document at his hotel without first downloading it to his computing device and disconnecting the VPN connection.
The reason for such inability to access the public printing device, and any other local devices, is that, assuming that the VPN comprises a single tunnel VPN, all traffic from the computing device is routed through the VPN so that it cannot reach the local device except via the external network with which the VPN is formed. Although it would be possible to print a document stored on the external network using a proxy server of the external network, a problem exists as to how to connect to the printing device in that no one network address may be used to receive both internal and external print jobs.